security_check(); if ($resultat_session == 'c') { header("Location: ../utilisateurs/mon_compte.php?change_mdp=yes"); die(); } else if ($resultat_session == '0') { header("Location: ../logout.php?auto=1"); die(); } if (!checkAccess()) { header("Location: ../logout.php?auto=1"); die(); } $msg=""; $id_classe = isset($_GET['id_classe']) ? $_GET['id_classe'] : (isset($_POST['id_classe']) ? $_POST["id_classe"] : NULL); if (!is_numeric($id_classe)) {$id_classe = 0;} $classe = get_classe($id_classe); include("../lib/periodes.inc.php"); $affiche_categories=isset($_GET['affiche_categories']) ? $_GET['affiche_categories'] : (isset($_POST['affiche_categories']) ? $_POST["affiche_categories"] : 'n'); if(isset($_GET['forcer_recalcul_rang'])) { $sql="SELECT num_periode FROM periodes WHERE id_classe='$id_classe' ORDER BY num_periode DESC LIMIT 1;"; $res_per=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_per)>0) { $lig_per=mysqli_fetch_object($res_per); $recalcul_rang=""; for($i=0;$i<$lig_per->num_periode;$i++) {$recalcul_rang.="y";} $sql="UPDATE groupes SET recalcul_rang='$recalcul_rang' WHERE id in (SELECT id_groupe FROM j_groupes_classes WHERE id_classe='$id_classe');"; //echo "$sql
"; $res=mysqli_query($GLOBALS["mysqli"], $sql); if(!$res) { $msg="Erreur lors de la programmation du recalcul des rangs pour cette classe."; } else { $msg="Recalcul des rangs programmé pour cette classe."; } } else { $msg="Aucune période n'est définie pour cette classe.
Recalcul des rangs impossible pour cette classe."; } } // 20160709 $tab_type_grp=get_tab_types_groupe(); // ================================= // AJOUT: boireaus $chaine_options_classes=""; $sql="SELECT id, classe FROM classes ORDER BY classe"; $res_class_tmp=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_class_tmp)>0){ $id_class_prec=0; $id_class_suiv=0; $temoin_tmp=0; $cpt_classe=0; $num_classe=-1; while($lig_class_tmp=mysqli_fetch_object($res_class_tmp)){ if($lig_class_tmp->id==$id_classe){ // Index de la classe dans les \n"; $temoin_tmp=1; if($lig_class_tmp=mysqli_fetch_object($res_class_tmp)){ $chaine_options_classes.="\n"; $id_class_suiv=$lig_class_tmp->id; } else{ $id_class_suiv=0; } } else { $chaine_options_classes.="\n"; } if($temoin_tmp==0){ $id_class_prec=$lig_class_tmp->id; } $cpt_classe++; } }// ================================= $priority_defaut = 5; //================================ // Liste de domaines de visibilité des groupes déplacé dans global.inc.php //================================ $invisibilite_groupe=array(); for($loop=0;$loop0) { while($lig_jgv=mysqli_fetch_object($res_jgv)) { $invisibilite_groupe[$lig_jgv->domaine][]=$lig_jgv->id_groupe; } } //================================ if (isset($_GET['ajouter_suffixes_noms_groupes'])) { check_token(); $mode=isset($_GET['mode']) ? $_GET['mode'] : NULL; if(!isset($mode)) { $msg.="Mode de renommage invalide.
"; } else { $groups = get_groups_for_class($id_classe,"","n"); $alphabet=array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'); $nb_renommages=0; $tab_grp_id_rech_homonyme=array(); $tab_grp_descr_homonyme=array(); $tab_grp_name=array(); // Récup de la liste des élèves de la classe toutes périodes confondues $sql="SELECT DISTINCT login FROM j_eleves_classes WHERE id_classe='$id_classe';"; $res_eff_classe=mysqli_query($GLOBALS["mysqli"], $sql); $eff_classe=mysqli_num_rows($res_eff_classe); foreach ($groups as $group) { if(isset($tab_grp_id_rech_homonyme[$group["description"]])) { $tab_grp_descr_homonyme[]=$group["description"]; } $tab_grp_id_rech_homonyme[$group["description"]][]=$group["id"]; $tab_grp_name[$group["id"]]=$group["name"]; } for($i=0;$i$max_eff) { $max_eff=$eff; $id_grp_max_eff=$id_groupe_courant; } $tab_eff_grp[$id_groupe_courant]=$eff; } for($j=0;$j\n"; } else { $nb_renommages++; } } } if($nb_renommages>0) { $msg.="$nb_renommages renommage(s) effectué(s).
\n"; } unset($tab_grp_id_rech_homonyme); unset($tab_grp_descr_homonyme); } } if (isset($_POST['is_posted'])) { check_token(); $error = false; $msg=""; $tab_id_groupe=array(); foreach ($_POST as $key => $value) { $pattern = "/^priorite\_/"; if (preg_match($pattern, $key)) { $group_id = preg_replace($pattern, "", $key); $tab_id_groupe[]=$group_id; $options[$group_id]["priorite"] = $value; } } foreach ($_POST as $key => $value) { $pattern = "/^coef\_/"; if (preg_match($pattern, $key)) { $group_id = preg_replace($pattern, "", $key); $options[$group_id]["coef"] = $value; } } foreach ($_POST as $key => $value) { //$pattern = "/^note\_sup\_10\_/"; $pattern = "/^mode\_moy\_/"; if (preg_match($pattern, $key)) { $group_id = preg_replace($pattern, "", $key); //$options[$group_id]["mode_moy"] = "sup10"; $options[$group_id]["mode_moy"] = $value; //echo "mode_moy pour $group_id : $value
"; } } foreach ($_POST as $key => $value) { $pattern = "/^no_saisie_ects\_/"; if (preg_match($pattern, $key)) { $group_id = preg_replace($pattern, "", $key); $options[$group_id]["saisie_ects"] = $value; } } foreach ($_POST as $key => $value) { $pattern = "/^saisie_ects\_/"; if (preg_match($pattern, $key)) { $group_id = preg_replace($pattern, "", $key); $options[$group_id]["saisie_ects"] = $value; } } foreach ($_POST as $key => $value) { $pattern = "/^valeur_ects\_/"; if (preg_match($pattern, $key)) { $group_id = preg_replace($pattern, "", $key); $options[$group_id]["valeur_ects"] = $value; } } foreach ($_POST as $key => $value) { $pattern = "/^categorie\_/"; if (preg_match($pattern, $key)) { $group_id = preg_replace($pattern, "", $key); $options[$group_id]["categorie_id"] = $value; } } foreach ($options as $key => $value) { // Toutes les vérifications de sécurité sont faites dans la fonction $update = update_group_class_options($key, $id_classe, $value); } $type_grp=array(); foreach ($_POST as $key => $value) { $pattern = "/^type\_/"; if (preg_match($pattern, $key)) { $group_id = preg_replace($pattern, "", $key); $type_grp[$group_id] = $value; $sql="SELECT * FROM j_groupes_types WHERE id_groupe='".$group_id."';"; $res_type_grp=mysqli_query($GLOBALS['mysqli'], $sql); if(mysqli_num_rows($res_type_grp)==0) { if($type_grp[$group_id]!="") { $sql="INSERT INTO j_groupes_types SET id_groupe='".$group_id."', id_type='".$value."';"; $insert=mysqli_query($GLOBALS['mysqli'], $sql); if(!$insert) { $msg.="Erreur lors de l'enregistrement du type du groupe n°".$tab_id_groupe[$loop].".
"; } } } else { $lig_type=mysqli_fetch_object($res_type_grp); if($type_grp[$group_id]=="") { $sql="DELETE FROM j_groupes_types WHERE id_groupe='".$group_id."';"; $suppr=mysqli_query($GLOBALS['mysqli'], $sql); if(!$suppr) { $msg.="Erreur lors de la remise à vide du type du groupe n°".$tab_id_groupe[$loop].".
"; } } elseif($type_grp[$group_id]!=$lig_type->id_type) { $sql="UPDATE j_groupes_types SET id_type='".$value."' WHERE id_groupe='".$group_id."';"; $update=mysqli_query($GLOBALS['mysqli'], $sql); if(!$update) { $msg.="Erreur lors de la mise à jour du type du groupe n°".$tab_id_groupe[$loop].".
"; } } } } } for($loo=0;$loo\$tab_domaines[$loo]=$tab_domaines[$loo]
"; foreach($invisibilite_groupe[$tab_domaines[$loo]] as $key => $value) { echo "\$invisibilite_groupe[$tab_domaines[$loo]][$key]=$value
"; } */ unset($visibilite_groupe_domaine_courant); $visibilite_groupe_domaine_courant=isset($_POST['visibilite_groupe_'.$tab_domaines[$loo]]) ? $_POST['visibilite_groupe_'.$tab_domaines[$loo]] : array(); /* foreach($visibilite_groupe_domaine_courant as $key => $value) { echo "\$visibilite_groupe_domaine_courant[$key]=$value
"; } */ for($loop=0;$loop"; if(in_array($tab_id_groupe[$loop], $invisibilite_groupe[$tab_domaines[$loo]])) { if(in_array($tab_id_groupe[$loop], $visibilite_groupe_domaine_courant)) { $sql="DELETE FROM j_groupes_visibilite WHERE id_groupe='".$tab_id_groupe[$loop]."' AND domaine='".$tab_domaines[$loo]."';"; //echo "$sql
"; $suppr=mysqli_query($GLOBALS["mysqli"], $sql); if(!$suppr) {$msg.="Erreur lors de la suppression de l'invisibilité du groupe n°".$tab_id_groupe[$loop]." sur les ".$tab_domaines_texte[$loo].".
";} } } else { if(!in_array($tab_id_groupe[$loop], $visibilite_groupe_domaine_courant)) { $sql="INSERT j_groupes_visibilite SET id_groupe='".$tab_id_groupe[$loop]."', domaine='".$tab_domaines[$loo]."', visible='n';"; //echo "$sql
"; $insert=mysqli_query($GLOBALS["mysqli"], $sql); if(!$insert) {$msg.="Erreur lors de l'enregistrement de l'invisibilité du groupe n°".$tab_id_groupe[$loop]." sur les ".$tab_domaines_texte[$loo].".
";} } } } } //================================ $invisibilite_groupe=array(); for($loop=0;$loop0) { while($lig_jgv=mysqli_fetch_object($res_jgv)) { $invisibilite_groupe[$lig_jgv->domaine][]=$lig_jgv->id_groupe; } } //================================ if(isset($_POST["name_grp"])) { $name_grp=$_POST["name_grp"]; $description_grp=$_POST["description_grp"]; foreach($name_grp as $id_current_grp => $current_name) { $sql="UPDATE groupes SET name='".html_entity_decode($current_name,ENT_QUOTES,"UTF-8")."' WHERE id='".$id_current_grp."';"; //echo "$sql
"; $update=mysqli_query($GLOBALS["mysqli"], $sql); if(!$update) { $msg.="Erreur lors de la modification du nom court du groupe n°$id_current_grp
"; } } foreach($description_grp as $id_current_grp => $current_description) { $sql="UPDATE groupes SET description='".html_entity_decode($current_description,ENT_QUOTES,"UTF-8")."' WHERE id='".$id_current_grp."';"; //echo "$sql
"; $update=mysqli_query($GLOBALS["mysqli"], $sql); if(!$update) { $msg.="Erreur lors de la modification de la description du groupe n°$id_current_grp
"; } } } $msg="Enregistrement effectué (".strftime("Le %A %d/%m/%Y à %H:%M:%S").")."; } if (isset($_GET['action'])) { check_token(); $msg = null; //if ($_GET['action'] == "delete_group") { if(($_GET['action'] == "delete_group")&&(isset($_GET['confirm_delete_group']))&&($_GET['confirm_delete_group'] == "y")) { if (!is_numeric($_GET['id_groupe'])) $_GET['id_groupe'] = 0; $verify = test_before_group_deletion($_GET['id_groupe']); if ($verify) { //================================ // MODIF: boireaus $sql="SELECT * FROM groupes WHERE id='".$_GET['id_groupe']."'"; $req_grp=mysqli_query($GLOBALS["mysqli"], $sql); $ligne_grp=mysqli_fetch_object($req_grp); //================================ $delete = delete_group($_GET['id_groupe']); if ($delete == true) { //================================ // MODIF: boireaus //$msg .= "Le groupe " . $_GET['id_groupe'] . " a été supprimé."; //$sql="SELECT * FROM groupes WHERE id='".$_GET['id_groupe']."'"; //$req_grp=mysql_query($sql); //$ligne_grp=mysql_fetch_object($req_grp); // Le groupe n'existe déjà plus $msg .= "Le groupe $ligne_grp->name (" . $_GET['id_groupe'] . ") a été supprimé."; //================================ } else { $msg .= "Une erreur a empêché la suppression du groupe."; } } else { $msg .= "Des données existantes bloquent la suppression du groupe. Aucune note ni appréciation du bulletin ne doit avoir été saisie pour les élèves de ce groupe pour permettre la suppression du groupe."; } } } $avec_js_et_css_edt="y"; $themessage = 'Des informations ont été modifiées. Voulez-vous vraiment quitter sans enregistrer ?'; //**************** EN-TETE ************************************** //$titre_page = "Gestion des groupes"; $titre_page = "Gestion des enseignements"; require_once("../lib/header.inc.php"); //**************** FIN EN-TETE ********************************** //debug_var(); if((isset($_GET['action']))&&($_GET['action']=="delete_group")&&(!isset($_GET['confirm_delete_group']))) { check_token(false); // On va détailler ce qui serait supprimé en cas de confirmation $tmp_group=get_group($_GET['id_groupe'], array("classes")); echo "
\n"; echo "

ATTENTION : Vous souhaitez supprimer l'enseignement suivant : ".$tmp_group['name']." (".$tmp_group['description'].") en ".$tmp_group['classlist_string']."
\n"; echo "Voici quelques éléments sur l'enseignement :

\n"; $suppression_possible='y'; $lien_bull_simp=""; $sql="SELECT num_periode FROM periodes WHERE id_classe='$id_classe' ORDER BY num_periode DESC LIMIT 1;"; //echo "$sql
"; $res_per=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_per)>0) { $lig_per=mysqli_fetch_object($res_per); $lien_bull_simp="Bulletin simple dans une nouvelle page"; } echo "

"; $sql="SELECT 1=1 FROM matieres_notes WHERE id_groupe='".$_GET['id_groupe']."';"; $test_mn=mysqli_query($GLOBALS["mysqli"], $sql); $nb_mn=mysqli_num_rows($test_mn); if($nb_mn==0) { echo "Aucune note sur les bulletins.
\n"; } else { echo "$nb_mn note(s) sur les bulletins (toutes périodes confondues) : $lien_bull_simp
\n"; $suppression_possible='n'; } $sql="SELECT 1=1 FROM matieres_appreciations WHERE id_groupe='".$_GET['id_groupe']."';"; $test_ma=mysqli_query($GLOBALS["mysqli"], $sql); $nb_ma=mysqli_num_rows($test_ma); if($nb_ma==0) { echo "Aucune appréciation sur les bulletins.
\n"; } else { echo "$nb_ma appréciation(s) sur les bulletins (toutes périodes confondues) : $lien_bull_simp
\n"; $suppression_possible='n'; } $temoin_non_vide='n'; // CDT $sql="SELECT 1=1 FROM ct_entry WHERE id_groupe='".$_GET['id_groupe']."';"; $test_notice_cdt=mysqli_query($GLOBALS["mysqli"], $sql); $nb_notice_cdt=mysqli_num_rows($test_notice_cdt); if($nb_notice_cdt==0) { echo "Aucune notice dans le cahier de textes.
\n"; } else { echo "$nb_notice_cdt notice(s) dans le cahier de textes.
\n"; $temoin_non_vide='y'; } $sql="SELECT 1=1 FROM ct_devoirs_entry WHERE id_groupe='".$_GET['id_groupe']."';"; $test_devoir_cdt=mysqli_query($GLOBALS["mysqli"], $sql); $nb_devoir_cdt=mysqli_num_rows($test_devoir_cdt); if($nb_devoir_cdt==0) { echo "Aucun devoir dans le cahier de textes.
\n"; } else { echo "$nb_devoir_cdt devoir(s) dans le cahier de textes.
\n"; $temoin_non_vide='y'; } // NOTES // Récupérer les cahier de notes $sql="SELECT DISTINCT id_cahier_notes, periode FROM cn_cahier_notes WHERE id_groupe='".$_GET['id_groupe']."' ORDER BY periode;"; $res_ccn=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_ccn)==0) { echo "Aucun cahier de notes n'est initialisé pour cet enseignement.
\n"; } else { while($lig_id_cn=mysqli_fetch_object($res_ccn)) { $sql="SELECT 1=1 FROM cn_devoirs WHERE id_racine='$lig_id_cn->id_cahier_notes';"; $res_dev=mysqli_query($GLOBALS["mysqli"], $sql); $nb_dev=mysqli_num_rows($res_dev); if($nb_dev==0) { echo "Période $lig_id_cn->periode : Aucun devoir.
\n"; } else { echo "Période $lig_id_cn->periode : $nb_dev devoir(s) dans le carnet de notes.
\n"; $temoin_non_vide='y'; } } } echo "

\n"; if($suppression_possible=='y') { if($temoin_non_vide=='y') { echo "

Si vous souhaitez effectuer "; echo "malgré tout "; echo "la suppression de l'enseignement : "; echo "Supprimer"; echo "

\n"; } else { echo "

Si vous souhaitez confirmer la suppression de l'enseignement : "; echo "Supprimer"; echo "

\n"; } } else { echo "

Des données existantes bloquent la suppression du groupe.
Aucune note ni appréciation du bulletin ne doit avoir été saisie pour les élèves de ce groupe pour permettre la suppression du groupe.

\n"; } echo "
\n"; } $display_mat_cat="n"; $sql="SELECT display_mat_cat FROM classes WHERE id='$id_classe';"; $res_display_mat_cat=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_display_mat_cat)>0) { $lig_display_mat_cat=mysqli_fetch_object($res_display_mat_cat); $display_mat_cat=$lig_display_mat_cat->display_mat_cat; $url_wiki="#"; $sql="SELECT * FROM ref_wiki WHERE ref='enseignement_invisible';"; $res_ref_wiki=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($res_ref_wiki)>0) { $lig_wiki=mysqli_fetch_object($res_ref_wiki); $url_wiki=$lig_wiki->url; } $titre="Enseignement invisible"; $texte="

Cet enseignement n'apparaîtra pas sur les bulletins ni sur les relevés de notes.
"; $texte.="Voir Enseignement invisible sur les bulletins et relevés de notes.
"; $tabdiv_infobulle[]=creer_div_infobulle('enseignement_invisible',$titre,"",$texte,"",25,0,'y','y','n','n'); } else { echo "

Anomalie : Les infos concernant 'display_mat_cat' n'ont pas pu être récupérées pour cette classe.

\n"; } echo "\n"; echo "\n"; echo "\n\n
\n"; echo "
\n"; echo "

\n"; echo "Retour Retour"; //if($id_class_prec!=0){echo " | Classe précédente";} if($id_class_prec!=0){echo " | Précédente";} if($chaine_options_classes!="") { echo "\n"; echo " \n"; } //if($id_class_suiv!=0){echo " | Classe suivante";} if($id_class_suiv!=0){echo " Suivante";} //========================= // AJOUT: boireaus 20081224 $titre="Navigation"; $texte=""; $texte.=" Périodes
"; if($nb_periode>1) { // On a $nb_periode = Nombre de périodes + 1 $texte.=" Élèves
"; } //$texte.=" Enseignements
"; $texte.=" config.simplifiée
"; $texte.=" Paramètres"; $ouvrir_infobulle_nav=getSettingValue("ouvrir_infobulle_nav"); //echo "\$ouvrir_infobulle_nav=$ouvrir_infobulle_nav
"; if($ouvrir_infobulle_nav=="y") { $texte.="

Oui
\n"; } else { $texte.="
Non
\n"; } $texte.="\n"; $tabdiv_infobulle[]=creer_div_infobulle('navigation_classe',$titre,"",$texte,"",14,0,'y','y','n','n'); echo " | "; echo "Navigation"; echo ""; //========================= echo " | Désinscriptions par lots"; echo " | Répartir des élèves entre plusieurs groupes"; echo " | Création par lots"; echo " | Paramétrage par lots"; if(acces("/groupes/visu_profs_class.php", $_SESSION['statut'])) { echo " | Équipe"; } if(acces("/groupes/modify_grp_group.php", $_SESSION['statut'])) { echo " | Groupes de groupes"; } echo "

\n"; echo "
\n"; echo "

Gestion des enseignements pour la classe : " . $classe["classe"].""; if(acces("/eleves/index.php", $_SESSION['statut'])) { echo " (Élèves)"; } echo "

\n"; echo "
\n"; echo "
\n"; //============================== // MODIF: boireaus //echo "

Ajouter un enseignement : "; //$query = mysql_query("SELECT matiere, nom_complet FROM matieres"); echo "

\n"; echo "\n\n\n"; $query = mysqli_query($GLOBALS["mysqli"], "SELECT matiere, nom_complet FROM matieres ORDER BY matiere"); //============================== $nb_mat = mysqli_num_rows($query); echo "\n"; echo "\n"; //============================== // MODIF: boireaus /* echo ""; */ echo "\n"; echo "\n
\n"; echo "Ajouter un enseignement : "; echo "\n"; echo "\n"; echo "\"Créer\n"; echo "\n"; echo " dans "; echo "\n"; echo "
\n"; echo "\n"; echo "
\n"; //============================== echo "\n"; echo "
"; echo "\n"; echo "
\n"; echo "
\n"; echo "
\n"; //$groups = get_groups_for_class($id_classe); $sql="SELECT 1=1 FROM j_groupes_classes jgc WHERE jgc.id_classe='$id_classe' AND categorie_id NOT IN (SELECT id FROM matieres_categories);"; $test_cat_auc=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test_cat_auc)==0) { $affiche_categories = sql_query1("SELECT display_mat_cat FROM classes WHERE id='".$id_classe."'"); if($affiche_categories=='y') { $groups = get_groups_for_class($id_classe,"","y"); } else { $groups = get_groups_for_class($id_classe,"","n"); } } else { if($affiche_categories=='y') { echo "Afficher tous les enseignements."; $groups = get_groups_for_class($id_classe,"","y"); } else { echo "N'afficher que les enseignements inscrits dans une vraie catégorie (autre que 'Aucune')."; $groups = get_groups_for_class($id_classe,"","n"); } } if(count($groups)==0){ if($ouvrir_infobulle_nav=='y') { echo "\n"; } require("../lib/footer.inc.php"); //echo "\n"; die(); } $gepi_prof_suivi=getParamClasse($id_classe, 'gepi_prof_suivi', getSettingValue('gepi_prof_suivi')); // Pour repérer des groupes homonymes $msg_groupes_homonymes=""; $tab_id_groupe_homonyme=array(); $tab_description_groupe_homonyme=array(); ?>

Pour cette classe, :


Un utilisateur a rencontré un jour le problème suivant :
Le rang était calculé pour les enseignements, mais pas pour le rang général de l'élève.
Ce lien permet de forcer le recalcul des rangs pour les enseignements comme pour le rang général.
Le recalcul sera effectué lors du prochain affichage de bulletin ou de moyennes.

"; $tabdiv_infobulle[]=creer_div_infobulle('recalcul_rang',$titre,"",$texte,"",25,0,'y','y','n','n'); echo "
\n"; echo "

Pour cette classe, forcer le recalcul des rangs "; echo ""; echo "Forcer le recalcul des rangs\n"; echo ""; echo ".

\n"; echo "
\n"; } ?>
0) { $temoin_tous_coef_nuls="n"; break; } } if($temoin_tous_coef_nuls=="y") { echo " \n"; } ?>
Nombre total d'ECTS actuellement attribués pour cette classe : ".intval($total_ects)."

\n"; if ($total_ects < 30) { echo "

Attention, le total d'ECTS pour un semestre devrait être au moins égal à 30.

\n"; } } // Mettre un témoin pour repérer le prof principal $tab_prof_suivi=get_tab_prof_suivi($id_classe); $nb_prof_suivi=count($tab_prof_suivi); if($nb_prof_suivi>1) { $liste_prof_suivi=""; for($loop=0;$loop0) {$liste_prof_suivi.=", ";} $liste_prof_suivi.=civ_nom_prenom($tab_prof_suivi[$loop]); } } $cpt_grp=0; $res = mysqli_query($GLOBALS["mysqli"], "SELECT id, nom_court, nom_complet, priority FROM matieres_categories"); $mat_categories = array(); $nom_categories = array(); while ($row = mysqli_fetch_object($res)) { $mat_categories[] = $row; $nom_categories[$row->id]=$row->nom_complet; } //============================================================================================================ // Div pour l'affichage de l'EDT if((getSettingAOui('autorise_edt_tous'))|| ((getSettingAOui('autorise_edt_admin'))&&($_SESSION['statut']=='administrateur'))) { $titre_infobulle="EDT de "; $texte_infobulle=""; $tabdiv_infobulle[]=creer_div_infobulle('edt_prof',$titre_infobulle,"",$texte_infobulle,"",40,0,'y','y','n','n'); //https://127.0.0.1/steph/gepi_git_trunk/edt_organisation/index_edt.php?login_edt=boireaus&type_edt_2=prof&no_entete=y&no_menu=y&lien_refermer=y function affiche_lien_edt_prof($login_prof, $info_prof) { return " EDT"; } echo " \n"; } else { function affiche_lien_edt_prof($login_prof, $info_prof) { return ""; } } //============================================================================================================ function affiche_lien_mailto_prof($mail_prof, $info_prof) { $retour=" "; $retour.="mail"; $retour.=""; return $retour; } //============================================================================================================ //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // Début du tableau des enseignements existants dans la classe //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ $afficher_champs_modif_nom_groupe=isset($_POST['afficher_champs_modif_nom_groupe']) ? $_POST['afficher_champs_modif_nom_groupe'] : (isset($_GET['afficher_champs_modif_nom_groupe']) ? $_GET['afficher_champs_modif_nom_groupe'] : "n"); echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; if(!getSettingANon('AutoriserTypesEnseignements')) { echo "\n"; } echo "\n"; echo "\n"; echo "\n"; $nb_total_col=9+$nb_periode-1+count($tab_domaines); if ($gepiSettings['active_mod_ects'] == "y") { echo "\n"; echo "\n"; $nb_total_col+=2; } echo "\n"; echo "\n"; //echo "\n"; //echo "\n"; for($i=1;$i<$nb_periode;$i++) { echo "\n"; } //echo "\n"; //echo "\n"; for($i=0;$i".$tab_domaines_sigle[$i]."\n"; } //echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; $prec_cat=""; $tab_visib_dom=array(); $alt=1; foreach ($groups as $group) { // On récupère le groupe avec toutes les infos sauf les modalités $current_group = get_group($group["id"], array('matieres', 'classes', 'eleves', 'periodes', 'profs', 'visibilite')); $total = count($group["classes"]); if(in_array($current_group['description'], $tab_description_groupe_homonyme)) { $msg_ajout="Plusieurs groupes portent la description ".$current_group['description'].""; if(!preg_match("#$msg_ajout#", $msg_groupes_homonymes)) { $msg_groupes_homonymes.=$msg_ajout."
\n"; } } $tab_id_groupe_homonyme[]=$current_group['id']; $tab_description_groupe_homonyme[]=$current_group['description']; //=============================== unset($result_matiere); // On récupère l'ordre par défaut des matières dans matieres pour permettre de fixer les priorités d'après les priorités par défaut de matières. // Sinon, pour l'affichage, c'est la priorité dans j_groupes_classes qui est utilisée à l'affichage dans les champs select. $sql="SELECT m.priority, m.categorie_id FROM matieres m, j_groupes_matieres jgc WHERE jgc.id_groupe='".$group["id"]."' AND m.matiere=jgc.id_matiere"; //echo "$sql
\n"; $result_matiere=mysqli_query($GLOBALS["mysqli"], $sql); $ligmat=mysqli_fetch_object($result_matiere); $mat_priorite[$cpt_grp]=$ligmat->priority; $mat_cat_id[$cpt_grp]=$ligmat->categorie_id; //=============================== if ($affiche_categories == "y") { if($current_group["classes"]["classes"][$id_classe]["categorie_id"]!=$prec_cat) { echo "\n"; } } $prec_cat=$current_group["classes"]["classes"][$id_classe]["categorie_id"]; $alt=$alt*(-1); echo "\n"; // Suppression echo "\n"; // Enseignement echo "\n"; // Inscription des élèves sur les différentes périodes foreach($current_group["periodes"] as $period) { if($period["num_periode"]!=""){ $inscrits = count($current_group["eleves"][$period["num_periode"]]["list"]); echo "\n"; } } // Priorité d'affichage echo "\n"; // Catégorie echo "\n"; if(!getSettingANon('AutoriserTypesEnseignements')) { // Type (AP, EPI, Parcours) echo "\n"; } // Visibilité for($loop=0;$loop"; echo "\n"; echo "\n"; } else { echo "\n"; } } // Coefficient echo "\n"; // Mode moy echo "\n"; echo "\n"; echo "\n"; // Ects if ($gepiSettings['active_mod_ects'] == "y") { echo "\n"; echo "\n"; } echo "\n"; $cpt_grp++; } echo "
SupprimerEnseignement
\n"; // 20130412 if($afficher_champs_modif_nom_groupe=="y") { echo ""; } else { echo ""; } echo "
Elèves inscritsPriorité
d'affichage
CatégorieTypeVisibilitéCoefficientMode moyActiver la saisie ECTS\n"; echo "Nombre d'ECTS par défaut pour une période"; echo "
SupprimerEnseignementP$iPriorité d'affichageCatégorieCoefficientLa note
compte
BonusSup10
"; if(isset($nom_categories[$current_group["classes"]["classes"][$id_classe]["categorie_id"]])) { echo $nom_categories[$current_group["classes"]["classes"][$id_classe]["categorie_id"]]; } else { echo " "; } echo "
"; echo ""; echo "Supprimer"; echo ""; // Faut-il juste mettre en évidence les anomalies ou aussi donner le regroupement associé? $sql="SELECT * FROM edt_corresp2 WHERE id_groupe='".$group["id"]."';"; $test_regroup_edt=mysqli_query($GLOBALS["mysqli"], $sql); if(mysqli_num_rows($test_regroup_edt)>1) { echo "
Anomalie
"; } echo ""; if ($total == "1") { echo ""; } else { echo ""; } echo $group["description"] . ""; echo "\n"; $j= 1; if ($total > 1) { echo "  (avec : "; unset($tabclasse); foreach ($group["classes"] as $classe) { if ($classe["id"] != $id_classe) { $tabclasse[]=$classe["classe"]; } $j++; } echo $tabclasse[0]; for($i=1;$i)"; } // 20130412 if($afficher_champs_modif_nom_groupe=="y") { echo "
Nom court :
Nom complet :
\n"; } else { echo "\n"; } $first = true; foreach($current_group["profs"]["list"] as $prof) { if ($first) {echo "
";} if (!$first) {echo ", ";} echo ""; echo casse_mot($current_group["profs"]["users"][$prof]["prenom"],'majf2'); echo " "; echo $current_group["profs"]["users"][$prof]["nom"]; echo ""; if(in_array($current_group["profs"]["users"][$prof]["login"],$tab_prof_suivi)) { echo " 1) {echo " La liste des ".$gepi_prof_suivi." est ".$liste_prof_suivi.".";} echo "\" />\n"; } echo affiche_lien_edt_prof($current_group["profs"]["users"][$prof]["login"], $current_group["profs"]["users"][$prof]["prenom"]." ".$current_group["profs"]["users"][$prof]["nom"]); $mail_prof=get_mail_user($current_group["profs"]["users"][$prof]["login"]); if(check_mail($mail_prof)) { echo affiche_lien_mailto_prof($mail_prof, $current_group["profs"]["users"][$prof]["prenom"]." ".$current_group["profs"]["users"][$prof]["nom"]); } $first = false; } echo "
"; echo "" . $inscrits . ""; echo ""; echo "\n"; echo ""; echo "\n"; if(($current_group["classes"]["classes"][$id_classe]["categorie_id"]!=0)&&(!in_array($current_group["classes"]["classes"][$id_classe]["categorie_id"],$tab_categorie_id))) { $temoin_anomalie_categorie="y"; echo ""; } if(($display_mat_cat=='y')&&($current_group["classes"]["classes"][$id_classe]["categorie_id"]=="0")) { //echo "
\n"; $message_categorie_aucune="La matière n apparaitra pas sur les bulletins et relevés de notes. Voir http://www.sylogix.org/projects/gepi/wiki/Enseignement_invisible"; //echo "$message_categorie_aucune\n"; echo ""; echo "$message_categorie_aucune\n"; echo ""; } echo "
"; echo "\n"; echo ""; echo "\n"; $tab_visib_dom[$tab_domaines_sigle[$loop]][]=$cpt_grp; echo ""; echo "\n"; echo ""; echo "\n"; echo ""; echo "\n"; echo ""; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "
\n"; if(count($tab_visib_dom)>0) { $chaine_visibilite_js=""; for($loop=0;$loopGriser les enseignements non visibles sur les ";} $chaine_visibilite_js.="var tab_vis_$loop=new Array("; for($loo=0;$loo0) {$chaine_visibilite_js.=", ";} $chaine_visibilite_js.="'".$tab_visib_dom[$tab_domaines_sigle[$loop]][$loo]."'"; } $chaine_visibilite_js.=");\n"; echo "   \n"; } } echo "\n"; } if(isset($temoin_anomalie_categorie)&&($temoin_anomalie_categorie=='y')) { $titre="Anomalie d'association enseignement/catégorie"; $texte="

Cet enseignement est associé à une catégorie qui n'existe pas ou plus.
Veuillez contrôler les paramètres et cliquer sur Enregistrer pour corriger."; $tabdiv_infobulle[]=creer_div_infobulle('association_anormale_enseignement_categorie',$titre,"",$texte,"",30,0,'y','y','n','n'); } echo "\n"; echo "\n"; echo "

\n"; echo "\n"; if($msg_groupes_homonymes!='') { echo "


\n"; echo "\n"; echo "

Attention : $msg_groupes_homonymes"; echo "Vous devriez renommer ces groupes de façon à ce que vous comme les professeurs,... les distinguent plus facilement.
"; echo "Vous pouvez par exemple ajouter des suffixes _1, _2,...
"; echo "ou laisser le nom sans suffixe pour un groupe classe et mettre des suffixes _1, _2,... pour des sous-groupes.
"; echo "Ajouter automatiquement des suffixes _1, _2,... ou des Ajouter automatiquement des suffixes _A, _B,..."; echo "

\n"; echo "


\n"; echo "\n"; } //================================================ // AJOUT:boireaus echo "\n"; ?>

Remarques:

  • Un seul coefficient non nul provoque l'apparition de tous les coefficients sur les bulletins.
  • Un/des coefficients non nul(s) est/sont nécessaire(s) pour que la ligne moyenne générale apparaisse sur le bulletin.
  • Pour les enseignements impliquant plusieurs classes, le coefficient s'applique à tous les élèves de la classe courante et peut être réglé indépendamment d'une classe à l'autre (pour le régler individuellement par élève, voir la liste des élèves inscrits).
    Les coefficients réglés ici ne s'appliquent donc qu'à la classe , même dans le cas des enseignements concernant des regroupements de plusieurs classes.
  • En revanche, la visibilité d'un groupe dans tel ou tel domaine (bulletins, carnet de notes, cahiers de textes) est propre au groupe (pour toutes les classes associées au groupe).
  • Les modes de prise en compte de la moyenne d'un enseignement dans la moyenne générale sont les suivants :
    • La note compte : La note compte normalement dans la moyenne.
    • Bonus : Les points au-dessus de 10 sont coefficientés et ajoutés au total des points, mais le total des coefficients n'est pas augmenté.
    • Sup10 : La note n'est comptée que si elle est supérieure à 10.
      Remarque : Cela n'améliore pas nécessairement la moyenne générale de l'élève puisque s'il avait 13 de moyenne générale sans cette note, il perd des points s'il a 12 à un enseignement compté sup10.
      Et l'élève qui a 9 à cet enseignement ne perd pas de point... injuste, non?
setTimeout(\"afficher_div('navigation_classe','y',-100,20);\",1000) \n"; } require("../lib/footer.inc.php"); ?>